home *** CD-ROM | disk | FTP | other *** search
- public class MailSender {
- private static boolean bDebug = false;
- private static Message msg;
-
- public static boolean sendMail() {
- try {
- Globals.writeLine(Globals.SEND_MAILFROM + Globals.account.emailAddress);
- if (!Globals.waitForMessage(Globals.FROM_OK, false)) {
- return false;
- } else {
- String var0 = msg.to;
- int var1 = 0;
-
- do {
- int var2 = var0.indexOf(";", var1);
- if (var2 < 0) {
- var2 = var0.length();
- }
-
- Globals.writeLine(Globals.SEND_RCPTTO + var0.substring(var1, var2));
- if (!Globals.waitForMessage(Globals.TO_OK, false)) {
- return false;
- }
-
- var1 = var2 + 1;
- } while(var1 < var0.length());
-
- Globals.writeLine(Globals.SEND_DATA);
- if (!Globals.waitForMessage(Globals.DATA_OK, false)) {
- return false;
- } else {
- if (msg.subject != null) {
- Globals.writeLine(Message.headerItems[4] + " " + msg.subject);
- }
-
- if (Globals.account.replyAddress != null) {
- Globals.writeLine(Message.headerItems[2] + " " + Globals.account.replyAddress);
- }
-
- Globals.writeLine(Message.headerItems[1] + " " + msg.to);
- Globals.writeLine("X-Mailer: MicroMail v" + Resource.VERSION_NUMBER + " by Cocoasoft d.o.o.");
- Globals.writeLine("Mime-Version: 1.0");
- Globals.writeLine(Message.headerItems[5] + " text/plain;\r\tcharset=\"utf-8\"");
- Globals.writeLine("Content-Transfer-Encoding: 8bit");
- Globals.writeLine("");
- Globals.writeBodyLine(msg.body);
- Globals.writeLine(".");
- Globals.out.flush();
- if (!Globals.waitForMessage(Globals.OUT_OK, false)) {
- return false;
- } else {
- return true;
- }
- }
- }
- } catch (Exception var3) {
- MicroMail.printInfo("ERROR:" + var3.getClass());
- Globals.conn = null;
- return false;
- }
- }
-
- public static boolean sendMail(ProgressForm var0) {
- boolean var1 = true;
- int var2 = 0;
- if (MicroCache.getBoxSize(2) > 0) {
- int var3 = AccountHandler.getCount();
-
- for(int var4 = 0; var4 < var3; ++var4) {
- Globals.account = AccountHandler.getAccount(var4);
- if (Globals.account.accountActive) {
- break;
- }
-
- Globals.account = null;
- }
-
- int var5 = MicroCache.getBoxSize(2);
- var0.setInfo(var5, 0, Globals.account.smtpHost, MicroMail.r.getText(19), (String)null);
- if (Globals.connectToServer(false)) {
- for(int var6 = var5 - 1; var6 >= 0; --var6) {
- var0.setInfo(-1, var2, (String)null, " " + var2 + "/" + var5 + MicroMail.r.getText(46), (String)null);
- msg = MicroCache.getMessage(2, var6);
- if (sendMail()) {
- MicroCache.moveMessageToSent(var6, msg);
- } else {
- var1 = false;
- }
-
- ++var2;
- System.gc();
- }
-
- var0.setInfo(-1, var5, (String)null, " " + var5 + "/" + var5 + MicroMail.r.getText(46), (String)null);
- Globals.disconnectFromServer(false);
- } else {
- var1 = false;
- var0.setInfo(-1, -1, (String)null, MicroMail.r.getText(20), (String)null);
- }
- }
-
- return var1;
- }
- }
-